<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>Symbol</h1>
    <ul>
        <li>symbol是ES6推出的新的数据类型。</li>
        <li>用于给对象设置有特殊（唯一）意义的属性。</li>
        <li>使用 object[symbol值] 操作对象的属性</li>
    </ul>
    <script>
        // 创建一个symbol值
        let symbol1 = Symbol("name");

        // symbol值可以作为对象的属性名，使用[symbol值]的写法
        let obj = {
            name: "奉先",
            [symbol1]: "人类",
        }
        
        console.log(obj[symbol1]); // "人类"
        
        console.log(symbol1);  // Symbol("name")
        
        // 在创建一个symbol值
        let symbol2 = Symbol("name");

        // 即使使用同样的字符串创建symbol值，它们也是不同的
        // 更加确保了唯一性
        console.log(symbol1 == symbol2);  // false
        console.log(obj[symbol2]); // undefined
    </script>
</body>
</html>